The present invention relates to electronic digital data processing systems of the type including a fast-access lower capacity cache store and a slower-access, larger capacity store such as a plurality of disks. More particularly, the present invention provides a method and apparatus utilizing the post-store method of returning to disks the data which has been modified (written to) while present in the cache store.
The copending application of Robert E. Swenson, Ser. No. 207,152 discloses a digital data processing system wherein one or more host processors are connected through one or more storage control units to a plurality of disk drive devices and a cache store. A host processor issues a command to a storage control unit to control the transfer of data between the host processor and one of the disk drive devices. A storage control unit converts a disk address specified in a command into a cache store address and checks to see if a copy of the data in the specified address is resident in the cache store. If a copy of the data is present in the cache store, the commanded operation (read or write) is executed with the storage control unit controlling the transfer of data between the host processor and the cache store. If a copy of the data is not present in the cache store and the commanded operation is a write operation then the storage control unit accesses the disk space specified by the address, controls transfer of the data from the disk to the cache store, and overlays it with the data from the host processor.
The cache store is managed by segments, each segment comprising many (for example 1792) data words. The segments that have been written to while resident in the cache store must be returned to the disks at their proper disk spaces if a permanent copy of the data is to be maintained. Furthermore, the transfer of written-to segments back to the disks must take place at fairly frequent intervals or the cache store will become filled with written-to segments, leaving no room for new segments if the host processor should command a write operation and a copy of the data from the specified disk space is not already resident in the segments of data in the cache store. One solution to this problem would be to halt further commands from the host processor while the contents of the cache store are returned to the disks. This is undesirable for two reasons. First, it would waste host processor time. Secondly, it is not desirable to empty the cache store because, statistically, the data from the most recently written-to segments in the cache store is likely to be used again and would soon have to be brought back into the cache store.
The present invention solves this problem by providing a method and apparatus for controlling the transfer of written-to segments from a cache store to disks without intervention by or delay of the host processor, and in such a manner that the most recently used written-to segments are not transferred.